this.issueModel = function(){

	this.svgns = 'http://www.w3.org/2000/svg';
	this.xlinkns = "http://www.w3.org/1999/xlink";
	
	this.STATE_ISSUE_CREATED = 1;
	this.STATE_ISSUE_READY = 2;
	this.STATE_ISSUE_PLAYING = 3;
	this.STATE_ISSUE_DONE = 4;
	
	this.STATE_ISSUE_SHOW_HIDE = 1;
	this.STATE_ISSUE_SHOW_MINIMIZE = 2;
	this.STATE_ISSUE_SHOW_NORMALIZE = 3;
	this.STATE_ISSUE_SHOW_MAXIMIZE = 4;
	
	
	this.m_strTitle = "";
	this.m_strBody = "";
	this.m_nIssueNum = 1;
	this.m_strIssueID = "1";
	this.m_nState = this.STATE_ISSUE_CREATED;
	this.m_nShowState = this.STATE_ISSUE_SHOW_NORMALIZE;
	this.m_workerID = '';
	this.m_nX = 0;
	this.m_nY = 0;
	this.m_nWidth = 250;
	this.m_nHeight = 30;
	
	
	this.m_nConLeftX = null;
	this.m_nConLeftY = null;
	
	this.m_nConRightX = null;
	this.m_nConRightY = null;
	
	this.m_nConTopX = null;
	this.m_nConTopY = null;
	
	this.m_nConBottomX = null;
	this.m_nConBottomY = null;
	
	this.m_nZindex = 0;
	
	this.m_STATE_URL_READY = "";
	this.m_STATE_URL_PLAYING = "";
	this.m_STATE_URL_DONE = "";
	
	this.m_lineLeftElement = new Array();
	this.m_lineTopElement = new Array();
	this.m_lineRightElement = new Array();
	this.m_lineBottomElement = new Array();
	
	//랜더링 객체 맴버변수선언/생성
	this.m_ele_root = document.createElementNS(this.svgns, 'svg');
	this.m_ele_frame = document.createElementNS(this.svgns, 'rect');
	
	this.m_ele_moveControlBar = document.createElementNS(this.svgns, 'rect');
	
	this.m_ele_showControl = document.createElementNS(this.svgns, 'rect');
	this.m_ele_stateControl_ready = document.createElementNS(this.svgns, 'rect');
	this.m_ele_stateControl_playing = document.createElementNS(this.svgns, 'rect');
	this.m_ele_stateControl_done = document.createElementNS(this.svgns, 'rect');
	this.m_ele_state = document.createElementNS(this.svgns, 'rect');
	
	
	this.m_ele_connectControlPointLeft = document.createElementNS(this.svgns, 'rect');
	this.m_ele_connectControlPointLeft.setAttributeNS(null, 'onmousedown', 'this.issueElement.eventLeftConnectDown(this.issueElement);');
	
	this.m_ele_connectControlPointTop = document.createElementNS(this.svgns, 'rect');
	this.m_ele_connectControlPointTop.setAttributeNS(null, 'onmousedown', 'this.issueElement.eventTopConnectDown(this.issueElement);');
	
	this.m_ele_connectControlPointRight = document.createElementNS(this.svgns, 'rect');
	this.m_ele_connectControlPointRight.setAttributeNS(null, 'onmousedown', 'this.issueElement.eventRightConnectDown(this.issueElement);');
	
	this.m_ele_connectControlPointBottom = document.createElementNS(this.svgns, 'rect');
	this.m_ele_connectControlPointBottom.setAttributeNS(null, 'onmousedown', 'this.issueElement.eventBottomConnectDown(this.issueElement);');
	
	
	
	this.m_ele_connectLineLeft = document.createElementNS(this.svgns, 'line');
	this.m_ele_connectLineLeft.setAttributeNS(null, 'style', 'stroke:rgb(200,200,0);stroke-width:2;');
	this.m_ele_connectLineLeft.issueElement = this;
	
	this.m_ele_connectLineTop = document.createElementNS(this.svgns, 'line');
	this.m_ele_connectLineTop.setAttributeNS(null, 'style', 'stroke:rgb(200,200,0);stroke-width:2;');
	this.m_ele_connectLineTop.issueElement = this;
	
	this.m_ele_connectLineRight = document.createElementNS(this.svgns, 'line');
	this.m_ele_connectLineRight.setAttributeNS(null, 'style', 'stroke:rgb(200,200,0);stroke-width:2;');
	this.m_ele_connectLineRight.issueElement = this;
	
	this.m_ele_connectLineBottom = document.createElementNS(this.svgns, 'line');
	this.m_ele_connectLineBottom.setAttributeNS(null, 'style', 'stroke:rgb(200,200,0);stroke-width:2;');
	this.m_ele_connectLineBottom.issueElement = this;
	
	
	eleRootGroup.appendChild(this.m_ele_connectLineLeft);
	eleRootGroup.appendChild(this.m_ele_connectLineTop);
	eleRootGroup.appendChild(this.m_ele_connectLineRight);
	eleRootGroup.appendChild(this.m_ele_connectLineBottom);
	
	
	
	
	
	
	
	//Text 부분
	this.m_ele_issueNum = document.createElementNS(this.svgns, 'text');
	this.m_ele_issueTitle1 = document.createElementNS(this.svgns, 'text');
	this.m_ele_issueTitle2 = document.createElementNS(this.svgns, 'text');
	this.m_ele_issueTitle3 = document.createElementNS(this.svgns, 'text');
	this.m_ele_issueWorker = document.createElementNS(this.svgns, 'text');
	
	
	this.m_ele_Textnode_in_issueNum = document.createTextNode("1004");
	this.m_ele_Textnode_in_issueTitle1 = document.createTextNode("제목 없음");
	this.m_ele_Textnode_in_issueTitle2 = document.createTextNode("내용 없음");
	this.m_ele_Textnode_in_issueTitle3 = document.createTextNode("내용 없음");
	this.m_ele_Textnode_in_issueWorker = document.createTextNode("담당자 없음");
	
	
	//관계를 맺기 : root의 1차 child
	this.m_ele_root.appendChild(this.m_ele_frame);
	
	//관계를 맺기 : frame의 1차 child
	this.m_ele_root.appendChild(this.m_ele_moveControlBar);
	this.m_ele_root.appendChild(this.m_ele_showControl);
	this.m_ele_root.appendChild(this.m_ele_stateControl_ready);
	this.m_ele_root.appendChild(this.m_ele_stateControl_playing);
	this.m_ele_root.appendChild(this.m_ele_stateControl_done);
	this.m_ele_root.appendChild(this.m_ele_state);
	this.m_ele_root.appendChild(this.m_ele_connectControlPointLeft);
	this.m_ele_root.appendChild(this.m_ele_connectControlPointTop);
	this.m_ele_root.appendChild(this.m_ele_connectControlPointRight);
	this.m_ele_root.appendChild(this.m_ele_connectControlPointBottom);
	
	
	//event 맺는 객체 부모관계
	this.m_ele_showControl.issueElement = this;
	this.m_ele_stateControl_ready.issueElement = this;
	this.m_ele_stateControl_playing.issueElement = this;
	this.m_ele_stateControl_done.issueElement = this;
	this.m_ele_moveControlBar.issueElement = this;
	this.m_ele_root.issueElement = this;
	
	this.m_ele_connectControlPointLeft.issueElement = this;
	this.m_ele_connectControlPointTop.issueElement = this;
	this.m_ele_connectControlPointRight.issueElement = this;
	this.m_ele_connectControlPointBottom.issueElement = this;
	
	//이벤트 맺기
	
	this.m_ele_showControl.setAttributeNS(null, 'onclick', 'this.issueElement.eventClickShow(this.issueElement);');
	this.m_ele_moveControlBar.setAttributeNS(null, 'onmousedown', 'this.issueElement.eventMouseDown(this.issueElement, event);');
	
	this.m_ele_connectControlPointLeft.setAttributeNS(null, 'onmouseover', 'this.issueElement.showConnectionControlPoint()');
	this.m_ele_connectControlPointLeft.setAttributeNS(null, 'onmouseout', 'this.issueElement.hideConnectionControlPoint()');
	
	this.m_ele_connectControlPointTop.setAttributeNS(null, 'onmouseover', 'this.issueElement.showConnectionControlPoint()');
	this.m_ele_connectControlPointTop.setAttributeNS(null, 'onmouseout', 'this.issueElement.hideConnectionControlPoint()');
	
	this.m_ele_connectControlPointRight.setAttributeNS(null, 'onmouseover', 'this.issueElement.showConnectionControlPoint()');
	this.m_ele_connectControlPointRight.setAttributeNS(null, 'onmouseout', 'this.issueElement.hideConnectionControlPoint()');
	
	this.m_ele_connectControlPointBottom.setAttributeNS(null, 'onmouseover', 'this.issueElement.showConnectionControlPoint()');
	this.m_ele_connectControlPointBottom.setAttributeNS(null, 'onmouseout', 'this.issueElement.hideConnectionControlPoint()');
	
	this.m_ele_root.appendChild(this.m_ele_issueNum);
	this.m_ele_root.appendChild(this.m_ele_issueTitle1);
	this.m_ele_root.appendChild(this.m_ele_issueTitle2);
	this.m_ele_root.appendChild(this.m_ele_issueTitle3);
	this.m_ele_root.appendChild(this.m_ele_issueWorker);
	
	//관계를 맺기 : textNode
	this.m_ele_issueNum.appendChild(this.m_ele_Textnode_in_issueNum);
	this.m_ele_issueTitle1.appendChild(this.m_ele_Textnode_in_issueTitle1);
	this.m_ele_issueTitle2.appendChild(this.m_ele_Textnode_in_issueTitle2);
	this.m_ele_issueTitle3.appendChild(this.m_ele_Textnode_in_issueTitle3);
	
	this.m_ele_issueWorker.appendChild(this.m_ele_Textnode_in_issueWorker);
	
	eleRootGroup.appendChild(this.m_ele_root);
	
	

	this.displayHide = function(){
		if(this.m_nShowState == this.STATE_ISSUE_SHOW_MINIMIZE){
			this.m_ele_stateControl_ready.setAttributeNS(null, 'style', 'display:none;');
			this.m_ele_stateControl_playing.setAttributeNS(null, 'style', 'display:none;');
			this.m_ele_stateControl_done.setAttributeNS(null, 'style', 'display:none;');
			this.m_ele_state.setAttributeNS(null, 'style', 'display:none;');
			
			this.m_ele_issueWorker.setAttributeNS(null, 'style', 'display:none;');
			this.m_ele_issueTitle1.setAttributeNS(null, 'style', 'display:none;');
			this.m_ele_issueTitle2.setAttributeNS(null, 'style', 'display:none;');
			this.m_ele_issueTitle3.setAttributeNS(null, 'style', 'display:none;');
		}
	}
	
	this.eventClickShow = function(objIssue){
		if(objIssue.m_nShowState == this.STATE_ISSUE_SHOW_MINIMIZE){
			objIssue.displayNormalize();
		}else{
			objIssue.displayMinimize();
		}
	}
	
	
	
	this.eventMouseDown = function(objIssue, oEvent){
		selObject = objIssue;
		
		this.m_nBetweenX = oEvent.x - this.m_nX;
		this.m_nBetweenY = oEvent.y - this.m_nY;
		
		eleBody.setAttributeNS(null, 'onmousemove', 'selObject.eventMouseMove(event);');
		eleBody.setAttributeNS(null, 'onmouseup', 'selObject.eventMouseUp(event);');
	}
	
	this.eventMouseUp = function(oEvent){
		eleBody.setAttributeNS(null, 'onmousemove', '');
		eleBody.setAttributeNS(null, 'onmouseup', '');
		
		this.m_nBetweenX = 0;
		this.m_nBetweenY = 0;
	}
	
	this.eventMouseMove = function(oEvent){
		this.move(oEvent.clientX - this.m_nBetweenX, oEvent.clientY - this.m_nBetweenY);
	}
	
	

	this.eventRightConnectDown = function(objIssue){
		selObject = objIssue;
		eleBody.setAttributeNS(null, 'onmousemove', 'selObject.eventRightConnectMove(event);');
		eleBody.setAttributeNS(null, 'onmouseup', 'selObject.eventRightConnectUp(event);');
	}

	this.eventRightConnectUp = function(oEvent){
		eleBody.setAttributeNS(null, 'onmousemove', '');
		eleBody.setAttributeNS(null, 'onmouseup', '');
	}
	
	this.eventRightConnectMove = function(oEvent){
		
		this.m_nConRightX = oEvent.clientX;
		this.m_nConRightY = oEvent.clientX;
		
		selObject.m_ele_connectLineRight.setAttributeNS(null, 'x1', this.m_nX + this.m_nWidth);
		selObject.m_ele_connectLineRight.setAttributeNS(null, 'y1', this.m_nY +  (this.m_nHeight / 2));
		
		selObject.m_ele_connectLineRight.setAttributeNS(null, 'x2', oEvent.clientX);
		selObject.m_ele_connectLineRight.setAttributeNS(null, 'y2', oEvent.clientY);
	}
	
	
	
	
	

	
	
	this.eventBottomConnectDown = function(objIssue){
		selObject = objIssue;
		eleBody.setAttributeNS(null, 'onmousemove', 'selObject.eventBottomConnectMove(event);');
		eleBody.setAttributeNS(null, 'onmouseup', 'selObject.eventBottomConnectUp(event);');
	}

	this.eventBottomConnectUp = function(oEvent){
		eleBody.setAttributeNS(null, 'onmousemove', '');
		eleBody.setAttributeNS(null, 'onmouseup', '');
	}
	
	this.eventBottomConnectMove = function(oEvent){
		
		this.m_nConBottomX = oEvent.clientX;
		this.m_nConBottomY = oEvent.clientX;
		
		selObject.m_ele_connectLineBottom.setAttributeNS(null, 'x1', this.m_nX + (this.m_nWidth / 2));
		selObject.m_ele_connectLineBottom.setAttributeNS(null, 'y1', this.m_nY +  this.m_nHeight);
		
		selObject.m_ele_connectLineBottom.setAttributeNS(null, 'x2', oEvent.clientX);
		selObject.m_ele_connectLineBottom.setAttributeNS(null, 'y2', oEvent.clientY);
	}
	
	
	
	
	
	
	this.eventTopConnectDown = function(objIssue){
		selObject = objIssue;
		eleBody.setAttributeNS(null, 'onmousemove', 'selObject.eventTopConnectMove(event);');
		eleBody.setAttributeNS(null, 'onmouseup', 'selObject.eventTopConnectUp(event);');
	}

	this.eventTopConnectUp = function(oEvent){
		eleBody.setAttributeNS(null, 'onmousemove', '');
		eleBody.setAttributeNS(null, 'onmouseup', '');
	}
	
	this.eventTopConnectMove = function(oEvent){
		
		this.m_nConTopX = oEvent.clientX;
		this.m_nConTopY = oEvent.clientX;
		
		selObject.m_ele_connectLineTop.setAttributeNS(null, 'x1', this.m_nX + (this.m_nWidth / 2));
		selObject.m_ele_connectLineTop.setAttributeNS(null, 'y1', this.m_nY + 15);
		
		selObject.m_ele_connectLineTop.setAttributeNS(null, 'x2', oEvent.clientX);
		selObject.m_ele_connectLineTop.setAttributeNS(null, 'y2', oEvent.clientY);
	}
	
	
	
	
	
	
	
	this.eventLeftConnectDown = function(objIssue){
		selObject = objIssue;
		eleBody.setAttributeNS(null, 'onmousemove', 'selObject.eventLeftConnectMove(event);');
		eleBody.setAttributeNS(null, 'onmouseup', 'selObject.eventLeftConnectUp(event);');
	}

	this.eventLeftConnectUp = function(oEvent){
		eleBody.setAttributeNS(null, 'onmousemove', '');
		eleBody.setAttributeNS(null, 'onmouseup', '');
	}
	
	this.eventLeftConnectMove = function(oEvent){
		
		this.m_nConLeftX = oEvent.clientX;
		this.m_nConLeftY = oEvent.clientX;
		
		selObject.m_ele_connectLineLeft.setAttributeNS(null, 'x1', this.m_nX  + 10);
		selObject.m_ele_connectLineLeft.setAttributeNS(null, 'y1', this.m_nY +  this.m_nHeight / 2);
		
		selObject.m_ele_connectLineLeft.setAttributeNS(null, 'x2', oEvent.clientX);
		selObject.m_ele_connectLineLeft.setAttributeNS(null, 'y2', oEvent.clientY);
	}
	
	
	this.setPositionConnectLine = function(){
		if((this.m_nConLeftX != null) && (this.m_nConLeftY != null)){
			selObject.m_ele_connectLineLeft.setAttributeNS(null, 'x1', this.m_nX  + 10);
			selObject.m_ele_connectLineLeft.setAttributeNS(null, 'y1', this.m_nY +  this.m_nHeight / 2);
		}
		
		if((this.m_nConRightX != null) && (this.m_nConRightY != null)){
			selObject.m_ele_connectLineTop.setAttributeNS(null, 'x1', this.m_nX + (this.m_nWidth / 2));
			selObject.m_ele_connectLineTop.setAttributeNS(null, 'y1', this.m_nY + 15);
		}
		
		if((this.m_nConTopX != null) && (this.m_nConTopY != null)){
			selObject.m_ele_connectLineBottom.setAttributeNS(null, 'x1', this.m_nX + (this.m_nWidth / 2));
			selObject.m_ele_connectLineBottom.setAttributeNS(null, 'y1', this.m_nY +  this.m_nHeight);
		}
		
		if((this.m_nConBottomX != null) && (this.m_nConBottomY != null)){
			selObject.m_ele_connectLineRight.setAttributeNS(null, 'x1', this.m_nX + this.m_nWidth);
			selObject.m_ele_connectLineRight.setAttributeNS(null, 'y1', this.m_nY +  (this.m_nHeight / 2));
		}
	}
	
	
	
	
	this.move = function(x, y){

		this.m_nX = x;
		this.m_nY = y;
		
		if(this.m_nShowState == this.STATE_ISSUE_SHOW_MINIMIZE){
			this.displayMinimize();
		}else{
			this.displayNormalize();
		}
		
		this.setPositionConnectLine();
	}
	
	//최소화된 상태의 이슈를 표현한다.
	this.displayMinimize = function(){
		
		this.m_nWidth = 235;
		this.m_nHeight = 25;
		
		this.m_nShowState = this.STATE_ISSUE_SHOW_MINIMIZE;
		
		this.displayHide();
		
		this.m_ele_root.setAttributeNS(null, 'style', 'display:block;cursor:hand;');
		
		this.m_ele_root.setAttributeNS(null, 'x', this.m_nX);
		this.m_ele_root.setAttributeNS(null, 'y', this.m_nY);
		this.m_ele_root.setAttributeNS(null, 'width', '250px');
		this.m_ele_root.setAttributeNS(null, 'height', '30px');
		
		this.m_ele_frame.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_frame.setAttributeNS(null, 'x', 2.5 + 'px');
		this.m_ele_frame.setAttributeNS(null, 'y', 2.5 + 'px');
		this.m_ele_frame.setAttributeNS(null, 'rx', '5');
		this.m_ele_frame.setAttributeNS(null, 'ry', '5');
		this.m_ele_frame.setAttributeNS(null, 'fill', '#FCFCFC');
		this.m_ele_frame.setAttributeNS(null, 'width', '235px');
		this.m_ele_frame.setAttributeNS(null, 'height', '25px');
		this.m_ele_frame.setAttributeNS(null, 'stroke', '#888');
		this.m_ele_frame.setAttributeNS(null, 'stroke-width', '2.5px');
		this.m_ele_frame.setAttributeNS(null, 'z-index', '100');
		
		
		//move Control
		this.m_ele_moveControlBar.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_moveControlBar.setAttributeNS(null, 'x', '2.5px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'y', '2.5px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'rx', '5');
		this.m_ele_moveControlBar.setAttributeNS(null, 'ry', '5');
		this.m_ele_moveControlBar.setAttributeNS(null, 'width', '235px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'height', '25px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'stroke-width', '1px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'fill', '#EAEAEA');
		this.m_ele_moveControlBar.setAttributeNS(null, 'stroke', '#888');
		
		
		//show Control
		this.m_ele_showControl.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_showControl.setAttributeNS(null, 'x', '217px');
		this.m_ele_showControl.setAttributeNS(null, 'y', '10px');
		this.m_ele_showControl.setAttributeNS(null, 'fill', '#FEFEFE');
		this.m_ele_showControl.setAttributeNS(null, 'width', '13px');
		this.m_ele_showControl.setAttributeNS(null, 'height', '5px');
		this.m_ele_showControl.setAttributeNS(null, 'stroke', '#888');
		this.m_ele_showControl.setAttributeNS(null, 'stroke-width', '2.5px');
		this.m_ele_showControl.setAttributeNS(null, 'z-index', this.m_nZindex + 100);
		
		
		//issue num 렌더링
		this.m_ele_issueNum.setAttributeNS(null, 'x', '15px');
		this.m_ele_issueNum.setAttributeNS(null, 'y', '13px');
		this.m_ele_issueNum.setAttributeNS(null, 'z-index', '200');
		this.m_ele_issueNum.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:6pt;fill:#CC5555;font-weight:bold;');
		
		this.m_ele_Textnode_in_issueNum.textContent = "Issue " + this.m_nIssueNum;
		
		//issue title 렌더링
		this.m_ele_issueTitle1.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:9pt;fill:#000000;text-rendering: optimizeLegibility;overflow:hidden;textLength:1;');
		this.m_ele_issueTitle1.setAttributeNS(null, 'x', '60');
		this.m_ele_issueTitle1.setAttributeNS(null, 'y', '20');
		
		this.m_ele_issueTitle1.setAttributeNS(null, 'z-index', '200');
		//this.m_ele_issueTitle.setAttributeNS(null, 'textLength', '170');
		
		var arrBody = mimoSubString(this.m_strTitle , 20);
		
		if(arrBody[1] != null){
			arrBody[0] += '...';
		}
		
		this.m_ele_Textnode_in_issueTitle1.textContent = arrBody[0];
		
		this.setPosition('min');
	}
	
	
	this.setPosition = function(strMode){
		if(strMode == 'min'){
		}else{
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'style', 'display:block;');
			//this.m_ele_connectControlPointLeft.setAttributeNS(null, 'x', (245 - 10) + 'px');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'x', '0px');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'y', ((160 / 2) - 10) + 'px');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'rx', '1');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'ry', '1');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'width', '20px');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'height', '20px');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'stroke-width', '1px');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'fill', '#EAEA55');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'stroke', '#22F');
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
			this.m_ele_connectControlPointLeft.setAttributeNS(null, 'opacity', '0');
			
			//m_ele_connectControlPointTop
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'style', 'display:block;');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'x', ((245/2) - 10) + 'px');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'y', 0 + 'px');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'rx', '1');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'ry', '1');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'width', '20px');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'height', '20px');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'stroke-width', '1px');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'fill', '#EAEA55');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'stroke', '#22F');
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
			this.m_ele_connectControlPointTop.setAttributeNS(null, 'opacity', '0');
			
			//m_ele_connectControlPointRight
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'style', 'display:block;');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'x', (245 - 10) + 'px');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'y', ((160 / 2) - 10) + 'px');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'rx', '1');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'ry', '1');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'width', '20px');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'height', '20px');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'stroke-width', '1px');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'fill', '#EAEA55');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'stroke', '#22F');
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
			this.m_ele_connectControlPointRight.setAttributeNS(null, 'opacity', '0');
			
			//m_ele_connectControlPointBottom
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'style', 'display:block;');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'x', ((245/2) - 10) + 'px');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'y', (160 - 15) + 'px');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'rx', '1');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'ry', '1');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'width', '20px');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'height', '20px');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'stroke-width', '1px');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'fill', '#EAEA55');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'stroke', '#22F');
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
			this.m_ele_connectControlPointBottom.setAttributeNS(null, 'opacity', '0');
		}
	}
	
	this.showConnectionControlPoint = function(){
		//m_ele_connectControlPointLeft
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'x', '0px');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'y', ((160 / 2) - 10) + 'px');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'rx', '1');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'ry', '1');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'width', '20px');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'height', '20px');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'stroke-width', '1px');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'fill', '#EAEA55');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'stroke', '#22F');
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'opacity', '0.3');
		
		
		//m_ele_connectControlPointTop
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'x', ((245/2) - 10) + 'px');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'y', 0 + 'px');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'rx', '1');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'ry', '1');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'width', '20px');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'height', '20px');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'stroke-width', '1px');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'fill', '#EAEA55');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'stroke', '#22F');
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'opacity', '0.3');
		
		//m_ele_connectControlPointRight
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'x', (245 - 10) + 'px');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'y', ((160 / 2) - 10) + 'px');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'rx', '1');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'ry', '1');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'width', '20px');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'height', '20px');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'stroke-width', '1px');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'fill', '#EAEA55');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'stroke', '#22F');
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'opacity', '0.3');
		
		//m_ele_connectControlPointBottom
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'x', ((245/2) - 10) + 'px');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'y', (160 - 15) + 'px');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'rx', '1');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'ry', '1');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'width', '20px');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'height', '20px');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'stroke-width', '1px');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'fill', '#EAEA55');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'stroke', '#22F');
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'z-index', this.m_nZindex + 300);
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'opacity', '0.3');
	}
	
	this.hideConnectionControlPoint = function(){

		//m_ele_connectControlPointLeft
		this.m_ele_connectControlPointLeft.setAttributeNS(null, 'opacity', '0');
		
		//m_ele_connectControlPointTop
		this.m_ele_connectControlPointTop.setAttributeNS(null, 'opacity', '0');
		
		//m_ele_connectControlPointRight
		this.m_ele_connectControlPointRight.setAttributeNS(null, 'opacity', '0');
		
		//m_ele_connectControlPointBottom
		this.m_ele_connectControlPointBottom.setAttributeNS(null, 'opacity', '0');
	}
	
	//연결된 이슈를 설정
	this.displayConnect = function(){
		
	}
	
	//표준 상태의 이슈를 표현한다.
	this.displayNormalize = function(){
		
		this.m_nShowState = this.STATE_ISSUE_SHOW_NORMALIZE;
		
		this.displayHide();
		
		this.m_nWidth = 235;
		this.m_nHeight = 145;
		
		
		this.m_ele_root.setAttributeNS(null, 'style', 'display:block;cursor:hand;');
		
		this.m_ele_root.setAttributeNS(null, 'x', this.m_nX);
		this.m_ele_root.setAttributeNS(null, 'y', this.m_nY);
		this.m_ele_root.setAttributeNS(null, 'z-index', this.m_nZindex);
		
		this.m_ele_frame.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_frame.setAttributeNS(null, 'x', 10 + 'px');
		this.m_ele_frame.setAttributeNS(null, 'y', 10 + 'px');
		this.m_ele_frame.setAttributeNS(null, 'rx', '5');
		this.m_ele_frame.setAttributeNS(null, 'ry', '5');
		this.m_ele_frame.setAttributeNS(null, 'fill', '#FEFEFE');
		this.m_ele_frame.setAttributeNS(null, 'width', '235px');
		this.m_ele_frame.setAttributeNS(null, 'height', '145px');
		this.m_ele_frame.setAttributeNS(null, 'stroke', '#888');
		this.m_ele_frame.setAttributeNS(null, 'stroke-width', '2.5px');
		this.m_ele_frame.setAttributeNS(null, 'z-index', this.m_nZindex + 100);
		
		
		//move Control
		this.m_ele_moveControlBar.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_moveControlBar.setAttributeNS(null, 'x', '10px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'y', '10px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'rx', '5');
		this.m_ele_moveControlBar.setAttributeNS(null, 'ry', '5');
		this.m_ele_moveControlBar.setAttributeNS(null, 'width', '235px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'height', '25px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'stroke-width', '1px');
		this.m_ele_moveControlBar.setAttributeNS(null, 'fill', '#EAEAEA');
		this.m_ele_moveControlBar.setAttributeNS(null, 'stroke', '#888');
		
		//show Control
		this.m_ele_showControl.setAttributeNS(null, 'style', 'display:block;');
		this.m_ele_showControl.setAttributeNS(null, 'x', '227px');
		this.m_ele_showControl.setAttributeNS(null, 'y', '20px');
		this.m_ele_showControl.setAttributeNS(null, 'fill', '#FEFEFE');
		this.m_ele_showControl.setAttributeNS(null, 'width', '13px');
		this.m_ele_showControl.setAttributeNS(null, 'height', '5px');
		this.m_ele_showControl.setAttributeNS(null, 'stroke', '#888');
		this.m_ele_showControl.setAttributeNS(null, 'stroke-width', '2.5px');
		this.m_ele_showControl.setAttributeNS(null, 'z-index', this.m_nZindex + 100);
		
		//issue num 렌더링
		this.m_ele_issueNum.setAttributeNS(null, 'x', '25');
		this.m_ele_issueNum.setAttributeNS(null, 'y', '30px');
		this.m_ele_issueNum.setAttributeNS(null, 'z-index', this.m_nZindex + 200);
		this.m_ele_issueNum.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:10pt;fill:#881111;font-weight:bold;');
		
		this.m_ele_Textnode_in_issueNum.textContent = "Issue " + this.m_nIssueNum;
		
		var arrBody = mimoSubString(this.m_strTitle , 29);
		
		if(arrBody[3] != null){
			arrBody[2] = mimoSubString(arrBody[2], 26)[0] + "...";
		}
		
		if(arrBody[0] == null){
			arrBody[0] = "";	
		}
		
		if(arrBody[1] == null){
			arrBody[1] = "";	
		}
		
		if(arrBody[2] == null){
			arrBody[2] = "";	
		}
		
		
		
		//issue title 렌더링
		this.m_ele_issueTitle1.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:9pt;fill:#000000;text-rendering: optimizeLegibility;overflow:hidden;');
		this.m_ele_issueTitle1.setAttributeNS(null, 'x', '30');
		this.m_ele_issueTitle1.setAttributeNS(null, 'y', '65');
		
		this.m_ele_issueTitle1.setAttributeNS(null, 'z-index', this.m_nZindex + 200);
		
		this.m_ele_Textnode_in_issueTitle1.textContent = arrBody[0];
		
		
		//issue title 렌더링
		this.m_ele_issueTitle2.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:9pt;fill:#000000;text-rendering: optimizeLegibility;overflow:hidden;');
		this.m_ele_issueTitle2.setAttributeNS(null, 'x', '30');
		this.m_ele_issueTitle2.setAttributeNS(null, 'y', '85');
		
		this.m_ele_issueTitle2.setAttributeNS(null, 'z-index', this.m_nZindex + 200);
		
		this.m_ele_Textnode_in_issueTitle2.textContent = arrBody[1];
		
		
		//issue title 렌더링
		this.m_ele_issueTitle3.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:9pt;fill:#000000;text-rendering: optimizeLegibility;overflow:hidden;');
		this.m_ele_issueTitle3.setAttributeNS(null, 'x', '20');
		this.m_ele_issueTitle3.setAttributeNS(null, 'y', '105');
		
		this.m_ele_issueTitle3.setAttributeNS(null, 'z-index', this.m_nZindex + 200);
		
		this.m_ele_Textnode_in_issueTitle3.textContent = arrBody[2];
		
		
		//issue 담당자
		this.m_ele_issueWorker.setAttributeNS(null, 'style', 'display:;font-family:돋움;font-size:8pt;fill:#000000;font-weight:bold;text-rendering: optimizeLegibility;overflow:hidden;');
		this.m_ele_issueWorker.setAttributeNS(null, 'x', '160');
		this.m_ele_issueWorker.setAttributeNS(null, 'y', '140');
		
		this.m_ele_issueWorker.setAttributeNS(null, 'z-index', this.m_nZindex + 200);
		
		
		var arrId = mimoSubString(this.m_workerID , 12);
		this.m_ele_Textnode_in_issueWorker.textContent = arrId[0];
		
		this.setPosition('max');
	}
	
	this.displayMaximize = function(){
		
	}
}

